package com.sprouting.ops.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;
import java.util.Optional;

/**
 * 特殊机器
 *
 * @author ：LX（长沙麓谷）
 * @date 创建时间： 2023/11/8 16:08
 */
@Getter
@AllArgsConstructor
public enum ComputerSpecialEnum {

    /**
     *
     */
    ORDINARY(0, "普通机器"),
    GATEWAY(1, "网关"),
    FORTRESS(2, "堡垒机"),
    SPRINGBOARD(3, "跳板机"),
    ;

    /**
     * 返回代码，默认情况下使用
     */
    private final Integer code;
    /**
     * 消息
     */
    private final String name;

    /**
     * 根据code查询出对应的枚举
     *
     * @param code 要查询的代码
     * @return
     */
    public static ComputerSpecialEnum getByCode(Integer code) {
        Optional<ComputerSpecialEnum> optional = Arrays.stream(ComputerSpecialEnum.values())
                .filter(p -> p.getCode().equals(code))
                .findFirst();
        return optional.orElse(null);
    }
}
